Javascript를 사용하면서 뭔가 특이한 점이 있다면 바로 this가 아닐까 생각한다.
Javscript에서 this는 함수가 실행될 때 결정된다. 함수가 실행되는 context에 따라 this의 참조가 바뀐다.
모든 함수 밖에서 사용하는 경우 this는 globalThis를 참조한다.
함수 안에서 사용하는 경우
클래스 안에서 사용하는 경우 클래스도 곧 함수이기 때문에 this의 동작이 비슷하긴 하나 몇가지 차이점이 있다.
this의 prototype에 추가된다.하위 클래스에서 사용하는 경우 super()를 호출하기 전까지 this는 binding되어있지 않다.